package top.szhome.framework.core.tools.support;

import java.util.List;

/**
 * 对象转换
 *
 * @author 唐加利
 * @date 2023/7/24
 **/
public interface SimpleConverter<A, B> {

    /**
     * 将一个类型的对象转换为另一个类型的对象
     * @param a 源对象
     * @return 返回转换后的对象
     */
    B atob(A a);

    /**
     * 将一个类型的对象列表转换为另一个类型的对象列表
     * @param list 源对象列表
     * @return 返回转换后的对象列表
     */
    List<B> atob(List<A> list);

    /**
     * 将一个类型的对象转换为另一个类型的对象
     * @param b 源对象
     * @return 返回转换后的对象
     */
    A btoa(B b);

    /**
     * 将一个类型的对象列表转换为另一个类型的对象列表
     * @param list 源对象列表
     * @return 返回转换后的对象列表
     */
    List<A> btoa(List<B> list);
}
